(library (logic)
  (export any?
          all?)
  (import
   (except (rnrs base)
           let-values
           map
           error
           vector-map)
   (only (guile)
         lambda* λ)
   (srfi srfi-1))

  (define any?
    (λ (lst)
      (reduce (λ (elem acc) (or acc elem))
              #f
              lst)))

  (define all?
    (λ (lst)
      (reduce (λ (elem acc) (and acc elem))
              #t
              lst))))
